#include <stdio.h>
//1️⃣判断一个数是否为奇数
int main()      
{
    int a;//int b=a%2;若放在上面，a未被赋值，不能进行取余运算，b是未定义的
    scanf("%d",&a);//即使a初始化也无法运算，输入什么都自动跳过，输出为空
    int b=a%2;//这行一定要放在scanf函数下面,先输入再运算
    if(1==b)  //这样写不易出错，也可写成 if(b)
    {
        printf("奇数");
    }
    return 0;
}
/*  输出1-100之间的奇数
#include <stdio.h>
int main()
{
    int a=1;
    while(a>=1&&a<=100)
    {
        int b=a%2;
        if(b==1)
        {
            printf("%d ",a);
        }    
        a++;
    }
    return 0;
}*/
//2️⃣将三个整数按从大到小输出(函数形式做法详见13.c)
int main()
{
    int a,b,c,m;
    scanf("%d %d %d",&a,&b,&c);
    //调整，将最大的值放入a,最小的值放入c
    //这里的if语句是顺序往下进行的
    if(a<b)   
    {
        m=a;
        a=b;
        b=m;
    }
    if(a<c)  //若a<b，那么此时和c比较的是新的a(曾经的b)
    {
        m=a;
        a=c;
        c=m;
    }
    if(b<c)  //调整后的b和调整后的c进行比较
    {
        m=b;
        b=c;
        c=m;
    }
    printf("%d %d %d\n",a,b,c); //输入：123输出：321 
    return 0;
}
//3️⃣求两个数的最大公约数（指两个整数共有约数中最大的一个）
//辗转相除法：用较大数除以较小数，再用出现的余数（第一余数）去除除数，再用出现的新余数（第二余数）去除第一余数，如此反复，直到最后余数是0为止。
//翻译过来就是：用较大数除以较小数，再用较小数除以余数（第一余数），再用第一余数除以出现的新余数（第二余数），如此反复，直到最后余数是0为止，此时的除数就是最大公约数。
//举例：24&36  ①36/24=1……12 ②24/12=2……0 所以24和36最大公约数是12
int main()
{
    int a,b,y;
    scanf("%d %d",&a,&b);
    if(a<b)
    {
        while(a<b)
        {
            y=b%a;
            if(y==0)
            {
                printf("%d\n",a);
                break;
            }
            b=a;
            a=y;
        }
    }
    else
    {
        while(b<a)
        {
            y=a%b;
            if(y==0)
            {
                printf("%d\n",b);
                break;
            }
            a=b;
            b=y;
        }
    }
    return 0;
}
//简化：
int main()
{
    int a,b,y;
    scanf("%d %d",&a,&b);
    int min=a<b?a:b;
    int max=a>b?a:b;
    while(y=max%min)
    {
        max=min;
        min=y;
    }
    printf("%d\n",min);
    return 0;
}
//更简化:其实不存在大小问题，因为较小数%较大数后，余数等于较小数，再一次就是较大数%较小数了
//举例：18&24 ①18%24=0……18 ②24%18=1……6 ③18%6=3……0
int main()
{
    int a,b,y;
    scanf("%d %d",&a,&b);
    while(y=a%b)
    {
        a=b;
        b=y;
    }
    printf("%d\n",b);
    return 0;
}
//4️⃣求两个数的最小公倍数（除0以外最小的公倍数）
//第一种方法：两个数相乘，再除以最大公约数
int main()
{
    int a,b,y,m,n;
    scanf("%d %d",&a,&b);
    m=a*b;
    while(y=a%b)
    {
        a=b;
        b=y;
    }
    n=m/b;
    printf("%d\n",n);
    return 0;
}
//第二种方法：用其中一个数*i(1,2,3……i)，乘积%另一个数，值为零时乘积就是最小公倍数
int main()
{
    int m,n;
    scanf("%d %d",&m,&n);
    int i=1;
    while(m*i%n)  
    {
        i++;
    }
    printf("%d\n",m*i);
    return 0;
}
//5️⃣编写程序数一下1~100的所有整数中出现多少个数字9 (20个)
//9 19 29 39 49 59 69 79 89 99
//90 91 92 93 94 95 96 97 98 99
int main()
{
    int a;
    int count=0;//计数
    for(a=1;a<=100;a++)
    {
        //判断个位是不是9
        if(a%10==9)
        count++;
        //判断十位是不是9
        if(a/10==9)    //若写成 else if(a/10==9)，那么输出:19，可用于计算1~100中含有9的数字个数
        count++;       
    }
    printf("%d\n",count); //输出:20
    return 0;
}
//6️⃣求10个整数中最大值
//思路：打擂台，每个数都跟擂台上的那个数比，大于就替代，然后接着比
int main()
{
    int arr[10]={5,2,3,-4,1,6,-9,8,7,10}; //无序、负数都可能
    //输入数字，整型数组的输入
    int i=0;
    for(i=0;i<10;i++)
    {
        scanf("%d",&arr[i]);
    }
    int max=arr[0];
    for(i=1;i<=9;i++)
    {
        if(arr[i]>max)
        {
            max=arr[i];
        }
    }
    printf("%d\n",max);
    return 0;
}
//⚠️输入n个成绩，换行输出n个成绩中最高分数和最低分数的差。
//输入描述：
//两行，第一行为n，表示n个成绩，不会大于10000。
//第二行为n个成绩（整数表示，范围0~100），以空格隔开。
//简化：每输入一个数字就判断 
int main() 
{
    int n,i;
    scanf("%d",&n);
    int arr[n]; //变长数组
    int max=0;
    int min=100;
    for(i=0;i<n;i++)
    {
        scanf("%d ",&arr[i]);
        if(arr[i]>max)
        max=arr[i];
        if(arr[i]<min)
        min=arr[i];
    }
    printf("%d\n",max-min);
    return 0;
}
   
//switch语句
/*
int main()
{
    int day=0;
    scanf("%d",&day);
    switch(day)
    {
    case 1:
        printf("星期一");
    case 2:
        printf("星期二");
    case 3:
        printf("星期三");
        break;
    case 4:
        printf("星期四");
    case 5:
        printf("星期五");
    case 6:
        printf("星期六");
    case 7:
        printf("星期日");
    }
    return 0;
}
//若要输入5，则输出：星期五星期六星期日
//输入3，输出：星期三
*/
/* 要求：输入1-5，输出weekday  输入6-7，输出weekend
int main()
{
    int day;
    scanf("%d",&day);
    switch(day)
    {
        case 1:
        case 2:
        case 3:
        case 4: 
        case 5:
            printf("weekday");
            break;
        case 6:
        case 7:
            printf("weekend");
            break;
        default:      //所有case不能匹配的值都到这，比如输入8，则输出：选择错误
            printf("选择错误");
            break;
    }
    return 0;
}
*/